#include <iostream>
#include <QRect>
#include <QPoint>

// What we see for valid ?
const static char *VALID_POLICIES[] = {"deny_all","allow_all","allow_only","deny_only"};

class Policy{
    public:
        QList <QString> person_list;
        QString policy_name;
        //~Policy();
        //Policy();
};

//The zone wih policies and points in it
class Zone : public QRect{

	public:
        //we need these constructors man
		Zone(const QPoint & topLeft, const QPoint & bottomRight):QRect(topLeft,bottomRight){ }
		Zone():QRect(){}
        bool listPolicy();
        QList<Policy> getPolicyList();
		//~Zone();
		bool addPolicy(const QString &polStr,const QList<QString> &qlist);
        bool resetIt();
		QList <Policy> policy_list;

	private:
		
		bool removePolicy(QString &polStr);
		bool processPolicy();
		// That is where we keep the policies here

};

